<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JCSDK Objective-C API Reference for iOS/macOS: 概览</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JCSDK Objective-C API Reference for iOS/macOS
   &#160;<span id="projectnumber">2.3.3</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">概览 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><ul>
<li><a class="el" href="interface_j_c_client.html">JCClient</a> 类用于初始化sdk以及登录 Juphoon Cloud 平台</li>
<li><a class="el" href="protocol_j_c_client_callback-p.html">JCClientCallback</a> 用于回调登录相关事件</li>
<li><a class="el" href="interface_j_c_media_device.html">JCMediaDevice</a> 类用于管理媒体设备</li>
<li><a class="el" href="protocol_j_c_media_device_callback-p.html">JCMediaDeviceCallback</a> 用于回调媒体设备相关事件</li>
<li><a class="el" href="interface_j_c_call.html">JCCall</a> 类用于管理一对一通话</li>
<li><a class="el" href="protocol_j_c_call_callback-p.html">JCCallCallback</a> 用于回调一对一通话相关事件</li>
<li><a class="el" href="interface_j_c_media_channel.html">JCMediaChannel</a> 类用于管理媒体频道</li>
<li><a class="el" href="protocol_j_c_media_channel_callback-p.html">JCMediaChannelCallback</a> 用于回调媒体频道相关事件</li>
<li><a class="el" href="interface_j_c_account.html">JCAccount</a> 类用于管理账号</li>
<li><a class="el" href="protocol_j_c_account_callback-p.html">JCAccountCallback</a> 用于回调账号相关事件</li>
<li><a class="el" href="interface_j_c_storage.html">JCStorage</a> 类用于管理文件存储</li>
<li><a class="el" href="protocol_j_c_storage_callback-p.html">JCStorageCallback</a> 用于回调文件存储相关事件</li>
<li><a class="el" href="interface_j_c_group.html">JCGroup</a> 类用于管理群组</li>
<li><a class="el" href="protocol_j_c_group_callback-p.html">JCGroupCallback</a> 用于回调群组相关事件</li>
<li><a class="el" href="interface_j_c_message_channel.html">JCMessageChannel</a> 类用于管理消息通道</li>
<li><a class="el" href="protocol_j_c_message_channel_callback-p.html">JCMessageChannelCallback</a> 用于回调消息通道相关事件</li>
</ul>
<h3><a class="anchor" id="autotoc_md0"></a>
登录管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a5815574e0923b89a74bfe34d11a737fd">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_client.html">JCClient</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a50afe46970ec86e129af3d8585334334">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_client.html">JCClient</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#aeab901abd7d38c3fd527c6a330d1e95c">login</a>  </td><td class="markdownTableBodyNone">登录 Juphoon Cloud 平台   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a0d4434928223e0dd2b288e9cb527a314">logout</a>  </td><td class="markdownTableBodyNone">登出 Juphoon Cloud 平台   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a19b3f00c5f4a51d8d008a0af49878292">appkey </a> </td><td class="markdownTableBodyNone">获取Appkey   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a73d7c50285ac7afcb6f1e1bbd94851e1">displayName</a>  </td><td class="markdownTableBodyNone">设置/获取昵称   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#adafb7d2be56855d494b696d578db7234">userId</a>  </td><td class="markdownTableBodyNone">获得用户标识   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#ade9766726cb31848c3afa720b6e7472a">serverAddress</a>  </td><td class="markdownTableBodyNone">获取登录服务器地址   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#af428728decbaf19a2ac6552a07351a65">state</a>  </td><td class="markdownTableBodyNone">获取当前状态   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a2df352ba1e2764058f49404d32dd041b">createParam</a>  </td><td class="markdownTableBodyNone">获取创建参数   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a4c7a7e5dd921478ee8c5f6e59818f7c6">loginParam</a>  </td><td class="markdownTableBodyNone">获取登录参数   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_client.html#a30719cf88f438e003688e2b6962fa28c">serverUid</a>  </td><td class="markdownTableBodyNone">获取自己在服务器上的 uid   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md1"></a>
登录事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_client_callback-p.html#aa367a4ec84f6cf5b0d0ef22f83522df2">onLogin</a>  </td><td class="markdownTableBodyNone">登录结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_client_callback-p.html#ab6bdf870c036c4ee85aeb6ffcd97e08a">onLogout</a>  </td><td class="markdownTableBodyNone">登出回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_client_callback-p.html#ae5a357773fd0a93159fe7d6fd05cf6fc">onClientStateChange</a>  </td><td class="markdownTableBodyNone">登录状态变化通知   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md2"></a>
设备管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a85936ee95b592ac75252c97851f9cc3f">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_media_device.html">JCMediaDevice</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a2006a5a278ea92653d9d947112b44a60">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_media_device.html">JCMediaDevice</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#ab302cf2e643b76ec40968609d7304f55">startCameraVideo</a>  </td><td class="markdownTableBodyNone">开始自身视频渲染   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#aef1b8e413778008e2dec313e0b407cdf">startVideo</a>  </td><td class="markdownTableBodyNone">开始其他端的视频渲染   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#ac77ad46a4ac0a226b2da155f2f797fc0">stopVideo</a>  </td><td class="markdownTableBodyNone">停止视频渲染   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#ad37b4e6a77db2ffc8de0d21113df5234">audioStart</a>  </td><td class="markdownTableBodyNone">音频是否已打开   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a66c2c78f2c722a483c902d1e91512122">startAudio</a>  </td><td class="markdownTableBodyNone">启动音频   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#ac169efc20dfed3266d93d3a700f33c72">stopAudio</a>  </td><td class="markdownTableBodyNone">停止音频   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a45761d678b774b0dc275db3f8f01bf69">startCamer</a>  </td><td class="markdownTableBodyNone">开启摄像头   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#abd3c4c16bd84011a4d5b89e1fe74ac5e">stopCamera</a>  </td><td class="markdownTableBodyNone">关闭摄像头   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a76b0a85f43b74b3d90c5e2c32ab60088">switchCamera</a>  </td><td class="markdownTableBodyNone">切换摄像头   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a6f72ec5fb1f5f0cca8585b12b09eb524">switchCamera2</a>  </td><td class="markdownTableBodyNone">切换摄像头(指定摄像头)   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a7793b267dc9c810772295275402fb02f">setCameraProperty</a>  </td><td class="markdownTableBodyNone">设置摄像头采集属性   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a1d625bdf5aa2dbb422805152cdfb1a1b">setScreenCaptureProperty</a>  </td><td class="markdownTableBodyNone">设置屏幕共享采集属性   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a9c1cdea77c0ba985fb8d4a134bc99d57">startVideoFile</a>  </td><td class="markdownTableBodyNone">开启视频文件作为视频输入源   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a50b25e3483943c3c1580eee83b847341">setVideoFileFrame</a>  </td><td class="markdownTableBodyNone">逐帧采集视频画面   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a7642ae134b19a7626d0f1c19e24ad3f4">stopVideoFile</a>  </td><td class="markdownTableBodyNone">关闭逐帧采集画面   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a3409eea29b0a4f1abb20236e49116532">cameraOpen</a>  </td><td class="markdownTableBodyNone">摄像头是否已打开   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#aa26bd62b1189821023178a91196f8af2">camera</a>  </td><td class="markdownTableBodyNone">获取当前的摄像头   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a011a216aa0d0f861045554584fc6c273">cameras</a>  </td><td class="markdownTableBodyNone">获取摄像头列表   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a4b87583f19d3ed15bf92cf518786e6ff">videoFileOpen</a>  </td><td class="markdownTableBodyNone">文件视频源是否已开启   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a73298097557a68e40cfa310d3904144b">videoFileId</a>  </td><td class="markdownTableBodyNone">获取文件视频源渲染id   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a5db9ccc9795dd55218664d6cd2dce1d9">videoAngle</a>  </td><td class="markdownTableBodyNone">设置/获取视频窗体角度   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#ad7d3f47faa205d9b593c5112cf8847cc">isSpeakerOn</a>  </td><td class="markdownTableBodyNone">扬声器是否已打开   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a4cfd5ed9b3b9cdf14d15474f6c3db210">enableSpeaker</a>  </td><td class="markdownTableBodyNone">开启关闭扬声器   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_device.html#a3044b6a4a03a2e3d803df12389a9d3c8">getAudioRouteType</a>  </td><td class="markdownTableBodyNone">获得当前音频类型   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md3"></a>
设备事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_device_callback-p.html#a2a08a9fc361554aad9a0a49ef2c0a789">onCameraUpdate</a>  </td><td class="markdownTableBodyNone">摄像头变化   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_device_callback-p.html#aa8df70b612ef571afcdef6f66ba4556c">onAudioOutputTypeChange</a>  </td><td class="markdownTableBodyNone">音频输出类型变化   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_device_callback-p.html#ae50d0697924ff8e10d81d7550a6ba416">onRenderReceived</a>  </td><td class="markdownTableBodyNone">收到第一帧数据   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_device_callback-p.html#acc3c990d5e47398c39f7f4463193278b">onRenderStart</a>  </td><td class="markdownTableBodyNone">渲染开始   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md4"></a>
一对一通话管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a943ec3fd266edb3757cfea2f2ff21a92">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#ae5ffd75dfdb8ace0d69e3a38601718e7">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_call.html">JCCall</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#ae9d354eabdaad1c5991062ae6aa05680">call</a>  </td><td class="markdownTableBodyNone">发起一对一呼叫   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a34ca9d3be1e72777c7f1cb6e4a5d5bde">term</a>  </td><td class="markdownTableBodyNone">挂断   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a0af0e53f6b9a3a99b0fa52449c83f3a4">answer</a>  </td><td class="markdownTableBodyNone">接听   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a333d090ca2e527a83079254cdca43a12">mute</a>  </td><td class="markdownTableBodyNone">静音   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a7352eadea5100ab196f1216718cbf928">hold</a>  </td><td class="markdownTableBodyNone">呼叫保持   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a9e5565cec989f194468ec79d30c3eecc">audioRecord</a>  </td><td class="markdownTableBodyNone">语音通话录音   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a8909575711a38e53bf8828287cde102c">videoRecord</a>  </td><td class="markdownTableBodyNone">视频通话录制   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a339389df45deb533a2678f52a8eabe7f">becomeActive</a>  </td><td class="markdownTableBodyNone">切换活跃通话   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a22c70e83e914c3e770cdc5b77b60071b">enableUploadVideoStream</a>  </td><td class="markdownTableBodyNone">开启关闭视频流发送   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#adf7f1abfa3320f26a6626db6d5231d1a">callItems</a>  </td><td class="markdownTableBodyNone">获得通话对象列表   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a3dc7a03082e93852fbad73a79107ea69">getActiveCallItem</a>  </td><td class="markdownTableBodyNone">获得当前活跃的通话   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#ac62efb5cb2a21913a78c706352ef2ee8">sendMessage</a>  </td><td class="markdownTableBodyNone">通过通话建立的通道发送数据   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a5b5237786fb504ce0cc3d1c2eef59883">getStatistics</a>  </td><td class="markdownTableBodyNone">获得当前通话统计信息   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#a1a2c64a0ffd590fd669096f04b13a167">mediaConfig</a>  </td><td class="markdownTableBodyNone">更新/获取媒体参数   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_call.html#aa9697181987370e46f5dead272ea2869">sendDtmf</a>  </td><td class="markdownTableBodyNone">发送DTMF信息   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md5"></a>
一对一通话事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_call_callback-p.html#a1ab9e15212ef163f7f8d3c009d05f2e9">onCallItemAdd</a>  </td><td class="markdownTableBodyNone">新增通话回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_call_callback-p.html#a0e18348bea90de9e9fbfbb4d960d04be">onCallItemRemove</a>  </td><td class="markdownTableBodyNone">移除通话回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_call_callback-p.html#a7c127c64f0f2742b37668c3626661604">onCallItemUpdate</a>  </td><td class="markdownTableBodyNone">通话状态更新回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_call_callback-p.html#a9c37cc6b1c2bbb33aad99ea06e4c74d5">onMessageReceive</a>  </td><td class="markdownTableBodyNone">通话中收到消息的回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_call_callback-p.html#a61754f5e134af2e0b465a40f9cf575fd">onMissedCallItem</a>  </td><td class="markdownTableBodyNone">上报服务器拉取的未接来电   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_call_callback-p.html#af12205b3e5ccaaaa32ae9eaec5228bb3">onDtmfReceived</a>  </td><td class="markdownTableBodyNone">通话中收到DTMF回调   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md6"></a>
频道管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#adcd6f2df492d8961ca35471311311dbb">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_media_channel.html">JCMediaChannel</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a02812bf42303ee865d23e9bebd531496">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_media_channel.html">JCMediaChannel</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a95d38657f312acb8975f83e5edbddff3">channelUri</a>  </td><td class="markdownTableBodyNone">获得频道 Uri   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a9ec8a0a382105daa2fa68cc1d67140a6">channelId</a>  </td><td class="markdownTableBodyNone">获得频道标识   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a508a06d19f5ad3767911052afe5e54b9">confId</a>  </td><td class="markdownTableBodyNone">获得confId   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a03fd9357811dcd0b0b4d0c9a63979b75">password</a>  </td><td class="markdownTableBodyNone">获得频道密码   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#ae369b43c1416966346c5b0e812f6b3c1">channelNumber</a>  </td><td class="markdownTableBodyNone">获得频道号   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a3f95e9ce419edb0b89301455b75dba4e">title</a>  </td><td class="markdownTableBodyNone">返回频道标题   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a38cdd34e0ae753b9f49fa36809aa1437">state</a>  </td><td class="markdownTableBodyNone">返回当前在频道中的状态   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#aa1aac4cfe9687c8643facedf0758ea43">participants</a>  </td><td class="markdownTableBodyNone">获得所有频道中的成员   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a07b9c934f8bd40ce2fed419befd58f42">uploadLocalAudio</a>  </td><td class="markdownTableBodyNone">获取本地音频数据是否在上传   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a2f9f270cd0360febc083eaf84ece5e91">uploadLocalVideo</a>  </td><td class="markdownTableBodyNone">获取本地视频数据是否在上传   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#ad050a05ae000da5132b6034c66b12bb9">audioOutput</a>  </td><td class="markdownTableBodyNone">获取音频是否输出   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a501cd5147754987a2796fb3b88f74c80">screenRenderId</a>  </td><td class="markdownTableBodyNone">获取屏幕共享渲染标识   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a0100882cd7322da94f248efa86641c65">screenUserId</a>  </td><td class="markdownTableBodyNone">获取开启屏幕共享的用户标识   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a625a6dd3a5d0ae9df25698aebc96a2f2">recordState</a>  </td><td class="markdownTableBodyNone">获取视频录制状态   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a5c421ef380fbe19dd2bbb8226272cf63">cdnState</a>  </td><td class="markdownTableBodyNone">获得cdn推流状态   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#adbcf56921812241efff844203504b1e6">query</a>  </td><td class="markdownTableBodyNone">查询频道相关信息   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#aae7c111f87465ec2dbac767b63f484aa">join</a>  </td><td class="markdownTableBodyNone">加入频道   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a464117e54a77bccbfd513ccff533708b">leave</a>  </td><td class="markdownTableBodyNone">离开频道   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#ac2905c2f6c51c4c01c61f5f4d6c39a49">stop</a>  </td><td class="markdownTableBodyNone">关闭频道   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#acfdb1bfa7e079a552a4441050e816560">enableUploadAudioStream</a>  </td><td class="markdownTableBodyNone">开启关闭发送本地音频流   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a12d0c37563fc883d624c1e52c70d380a">enableUploadVideoStream</a>  </td><td class="markdownTableBodyNone">开启关闭发送本地视频流   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a4bbd99b56e5f38a26cceaccb69776618">enableAudioOutput</a>  </td><td class="markdownTableBodyNone">开启关闭音频输出   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a1b44d999a8f89309df3580efc9ef9225">requestVideo</a>  </td><td class="markdownTableBodyNone">请求频道中其他用户的视频流   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#ad3e33762ee2a89b6232485f66f9b54a7">requestScreenVideo</a>  </td><td class="markdownTableBodyNone">请求频道成员屏幕共享的视频流   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a615bf5d67e360c8d84b92496cf884e92">enableCdn</a>  </td><td class="markdownTableBodyNone">开关Cdn推流   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a5ef724d64936c83f2d68346314755e9f">enableRecord</a>  </td><td class="markdownTableBodyNone">开关视频录制   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a79b28b8dada5450c5f25e2844962b7d0">enableScreenShare</a>  </td><td class="markdownTableBodyNone">开关屏幕分享   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a2feaf09ec144035583ec829291f85f22">getParticipant</a>  </td><td class="markdownTableBodyNone">获取频道成员   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a4cf23f3d19b23f8658c8b8ab275d2aae">getStatistics</a>  </td><td class="markdownTableBodyNone">获取统计信息   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="">customProperty</a>  </td><td class="markdownTableBodyNone">设置/获取频道自定义属性   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a7617239966ea595482eb11beb0b8ff4a">sendMessage</a>  </td><td class="markdownTableBodyNone">发送消息   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#ab1d66a2c12211d3f6913237904e115da">sendCommand</a>  </td><td class="markdownTableBodyNone">发送指令   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a40d38e8ba39a92370ea614fdd4baafe8">inviteSipUser</a>  </td><td class="markdownTableBodyNone">邀请Sip用户   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a9777d3af4a484672273ca4a766b32e58">setCustomRole</a>  </td><td class="markdownTableBodyNone">设置自定义角色   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#af87e398452edac3b76ad96ae2c0c00ba">getCustomRole</a>  </td><td class="markdownTableBodyNone">获得自定义角色   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#adae24eb1c040e18d0ca98ddcab18da21">setCustomState</a>  </td><td class="markdownTableBodyNone">设置自定义状态   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a217cd598c99384ab0f4293af6b7b6141">getCustomState</a>  </td><td class="markdownTableBodyNone">获得自定义状态   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#acd1a648db825b4c5d32afd7403ad9114">kick</a>  </td><td class="markdownTableBodyNone">将成员踢出会议   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#af8b6019fa2b0982d7822cef8cd9df6c4">sendCommandToDelivery</a>  </td><td class="markdownTableBodyNone">发送命令给推流或录制器   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a2e9c87899585ac3e730a273f20ed1aea">enableSelfVideoRatio</a>  </td><td class="markdownTableBodyNone">设置自身视频宽高比   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a816c2a4794b157fd6a17cd2cd1196ae8">startScreenShareVideo</a>  </td><td class="markdownTableBodyNone">启动频道成员的屏幕分享视频渲染   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#a704cf64d9a0cc2f3c4cdd12348b278ce">stopScreenShareVideo</a>  </td><td class="markdownTableBodyNone">停止屏幕分享视频渲染   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_media_channel.html#aafc27fec7e4946b5154f43dbdc4e595d">selfParticipant</a>  </td><td class="markdownTableBodyNone">获得自身 <a class="el" href="interface_j_c_media_channel_participant.html">JCMediaChannelParticipant</a> 对象   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md7"></a>
频道事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#a12ada003140a0c5a44c0c5f69702acf7">onMediaChannelStateChange</a>  </td><td class="markdownTableBodyNone">自身状态变化回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#a8f10fcd984b93e9d9ae2ab14b848ba32">onMediaChannelPropertyChange</a>  </td><td class="markdownTableBodyNone">属性变化回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#ac442c8c1d360ba3b38788ee428424ed2">onJoin</a>  </td><td class="markdownTableBodyNone">加入频道结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#a0397acf71428976f43c72effbec2a0ad">onLeave</a>  </td><td class="markdownTableBodyNone">离开频道结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#af0ed7f8f42ae29eb21a2197afa00f4c3">onStop</a>  </td><td class="markdownTableBodyNone">解散频道结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#a4a80b6bbb7da129d67cf1596a14c54e5">onQuery</a>  </td><td class="markdownTableBodyNone">查询频道信息结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#aa5342368f4be4ded2a96c1516d117196">onParticipantJoin</a>  </td><td class="markdownTableBodyNone">新成员加入回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#af2ae73586c030e4f3a6886cd66f11a73">onParticipantLeft</a>  </td><td class="markdownTableBodyNone">成员离开回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#ab971c654c6ec7b55706aaa2c9a84bb87">onParticipantUpdate</a>  </td><td class="markdownTableBodyNone">成员更新回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#a9a7440b88ef2f90f3eaa3473c2048cd8">onMessageReceive</a>  </td><td class="markdownTableBodyNone">接收频道消息的回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#ad149be58b9ecd0b4e046c23c1d34f475">onInviteSipUserResult</a>  </td><td class="markdownTableBodyNone">邀请Sip用户操作结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_media_channel_callback-p.html#a8d281027a9b2f66ffec782022e8642a2">onParticipantVolumeChange</a>  </td><td class="markdownTableBodyNone">成员声音变化   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md8"></a>
账号管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#a0e03454598a73cf1f05f0b97a2630b2b">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_account.html">JCAccount</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#afdfece0c7f4aa39fdc3b3d178f0a29c9">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_account.html">JCAccount</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#aec0e112ba7baa03dd867d5f92ad12c85">queryUserStatus</a>  </td><td class="markdownTableBodyNone">查询账号状态   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#aec4ea63f41f105074c1b73aacf721a73">queryServerUid</a>  </td><td class="markdownTableBodyNone">查询账号 uid   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#ad13684e2e2a2d4cbb5792a1f3b42a2d9">queryUserId</a>  </td><td class="markdownTableBodyNone">查询账号 userId   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#aa49db7cf1881f5cad36426e8be3af9c1">refreshContacts</a>  </td><td class="markdownTableBodyNone">查询所有的联系人   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#ac05c24d2e855e935273eac7911b411b9">dealContact</a>  </td><td class="markdownTableBodyNone">操作联系人   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_account.html#a504f22174b3a914a88403229522e5dc1">setDnd</a>  </td><td class="markdownTableBodyNone">设置免打扰   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md9"></a>
账号事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#aaf37440dc773151f27983be6816fab1f">onQueryUserStatusResult</a>  </td><td class="markdownTableBodyNone">查询账号状态结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#a736fcbd0388c57bcea5f34da736481d9">onQueryServerUidResult</a>  </td><td class="markdownTableBodyNone">查询账号 ServerUid 结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#aacfe3ae5f27159ca032f76633c3b4420">onQueryUserIdResult</a>  </td><td class="markdownTableBodyNone">查询账号 UserId 结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#a6da9e43480c4e1be1fd1b7a8f1eb131f">onRefreshContacts</a>  </td><td class="markdownTableBodyNone">查询网络联系人列表结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#a6ce3db1f8a3209301cffc52006493718">onDealContact</a>  </td><td class="markdownTableBodyNone">处理联系人结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#a7329d6adf383ae4f8a947081c9952ce1">onContactsChange</a>  </td><td class="markdownTableBodyNone">服务器联系人变化回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_account_callback-p.html#a97029797275298a3fa223d3d23a1556d">onSetContactDnd</a>  </td><td class="markdownTableBodyNone">设置免打扰回调   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md10"></a>
文件存储管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_storage.html#ae49efaa195466115f07b20ae07bee4a8">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_storage.html">JCStorage</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_storage.html#a845f5e55177573aad2972ab1edf32002">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_storage.html">JCStorage</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_storage.html#a179729e095c867fa7624fd1eb3e44a79">uploadFileByExpireTime</a>  </td><td class="markdownTableBodyNone">上传文件   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_storage.html#a4edb9dbd883adbb92c151bc0ef5f5e15">downloadFile</a>  </td><td class="markdownTableBodyNone">下载文件   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_storage.html#a2bf695039cbaaf8e57f4ab5515af2de6">cancelFile</a>  </td><td class="markdownTableBodyNone">取消正在进行的文件上传下载   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_storage.html#aa50915f7b3606dd3146c9074ad8cecb4">cancelFileByCookie</a>  </td><td class="markdownTableBodyNone">通过cookie取消正在进行的文件上传下载   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md11"></a>
文件存储事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_storage_callback-p.html#aedb19f5b9c167fae30966c5e34b22afb">onFileUpdate</a>  </td><td class="markdownTableBodyNone">文件传输结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_storage_callback-p.html#a086c6c8b7e0e0188d8e8954b0288fd54">onFileResult</a>  </td><td class="markdownTableBodyNone">文件状态更新回调   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md12"></a>
群组管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a46c9376d41cf9861b253d8ebf88a0c50">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_group.html">JCGroup</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a4a7b35b69b04406fa72742a875e5a652">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_group.html">JCGroup</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#af7639cf24c5e1c88790285d3bc7e5191">fetchGroups</a>  </td><td class="markdownTableBodyNone">获取当前用户加入的群列表   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a5852968846cd872b8abb796a35a8aa6b">fetchGroupInfo</a>  </td><td class="markdownTableBodyNone">刷新群组信息   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a4851fb5f628bf635045cb360539975b1">createGroup</a>  </td><td class="markdownTableBodyNone">创建群   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#aca22882b3e29cbbd3763f0c354dfccd5">updateGroup</a>  </td><td class="markdownTableBodyNone">更新群   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a6276a1b810c0976954e6ba0086670f4a">dissolve</a>  </td><td class="markdownTableBodyNone">解散群组   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a3f04930622631092ea1a39ea8694f591">leave</a>  </td><td class="markdownTableBodyNone">离开群组   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a084e2dcd50a98ba94b88f5028fdecb3d">dealMembers</a>  </td><td class="markdownTableBodyNone">操作成员   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#ad519604f281f0e74374c47d2ae419faa">updateGroupComment</a>  </td><td class="markdownTableBodyNone">更新群备注信息   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_group.html#a2a24aae91e07f13a687707ea8a56b8d4">setDnd</a>  </td><td class="markdownTableBodyNone">设置免打扰   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md13"></a>
群组事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#ae6e687f4b4349ea98d79aa7c7e9ce0f0">onFetchGroups</a>  </td><td class="markdownTableBodyNone">拉取群列表结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#ad38bdbe71d9575e059a3d846f1eab545">onFetchGroupInfo</a>  </td><td class="markdownTableBodyNone">拉取群详情结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#aafde2601c8e09fcc9bd3c4a008cae517">onGroupListChange</a>  </td><td class="markdownTableBodyNone">群列表更新   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#a8a57e78eb154aed067907f2ee1b0c31a">onGroupInfoChange</a>  </td><td class="markdownTableBodyNone">群信息更新   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#a40ab12f45bba248f056294c4afbad6ba">onCreateGroup</a>  </td><td class="markdownTableBodyNone">创建群回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#a5a90c0d5379ad8ad14cd0e8317c9ab6e">onUpdateGroup</a>  </td><td class="markdownTableBodyNone">更新群信息调用回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#a70e3b55fe7570585bfc3ef4ecb1b63df">onDissolve</a>  </td><td class="markdownTableBodyNone">解散群组回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#a2ae35fc1044a6ef84d0b7ccc0f87f556">onLeave</a>  </td><td class="markdownTableBodyNone">离开群组回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#af0afec355b3cb89cc6e8a1b1f724f323">onDealMembers</a>  </td><td class="markdownTableBodyNone">操作成员结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#a9feddc8ebff5c96b43b5041dc610eebc">onUpdateGroupComment</a>  </td><td class="markdownTableBodyNone">更新备注信息结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_group_callback-p.html#ac55516ed86db2fe06472de2ec3a9fcec">onSetGroupDnd</a>  </td><td class="markdownTableBodyNone">设置免打扰回调   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md14"></a>
消息通道管理</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">方法  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#ad9690d124324d7feda64df75723ec595">create</a>  </td><td class="markdownTableBodyNone">创建 <a class="el" href="interface_j_c_message_channel.html">JCMessageChannel</a> 对象   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#a78e87696e1dffb30a286f33fb6011bd7">destroy</a>  </td><td class="markdownTableBodyNone">销毁 <a class="el" href="interface_j_c_message_channel.html">JCMessageChannel</a> 对象   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#ab84f3affc5ddc36f40cd23cfb97b18ee">sendMessage</a>  </td><td class="markdownTableBodyNone">发送文本消息   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#a0fecaa87aaa6be8e27173c6f9225c054">sendFile</a>  </td><td class="markdownTableBodyNone">发送文件消息   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#a56565c7d1d12ed4518da619d1493f2d5">refreshConversation</a>  </td><td class="markdownTableBodyNone">获取消息会话   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#aabdc7f5d60b3a7b2cc2396922d3b6575">fetchMessages</a>  </td><td class="markdownTableBodyNone">获取历史消息   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#a2c6195a64ec54b63011129bcf221b3be">markReadMessage</a>  </td><td class="markdownTableBodyNone">标志消息为已读   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#a817de33a2a86fcd0d1c30648e9c000f2">markRecvMessage</a>  </td><td class="markdownTableBodyNone">标志消息为已收   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="interface_j_c_message_channel.html#a826f73531b0ff987b856022403d07d2d">withdrawalMessage</a>  </td><td class="markdownTableBodyNone">撤回消息   </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md15"></a>
消息通道事件</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">事件  </th><th class="markdownTableHeadNone">描述   </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#ad43a1826244ac807b4d546ad47181791">onMessageSendUpdate</a>  </td><td class="markdownTableBodyNone">消息发送状态更新回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#a5b1a06dbd6ef028e202951d089833ea7">onMessageRecv</a>  </td><td class="markdownTableBodyNone">收到消息回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#aa7c03f499a147afe54d42cfbc49b9614">onRefreshConversation</a>  </td><td class="markdownTableBodyNone">刷新消息结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#a867c21568aa9c37cb78c7b6d6db4b5ed">onFetchMessageResult</a>  </td><td class="markdownTableBodyNone">拉取消息结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#ad362d43fde62e1264204788b8763af2a">onMarkReadResult</a>  </td><td class="markdownTableBodyNone">标志消息已读结果回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#a0a365fcdc004e47db56794e84b236b94">onMarkRecvResult</a>  </td><td class="markdownTableBodyNone">标志消息已收结果回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#a473710b30a2ce3cf50d067731198f1e4">onReceiveMarkRecv</a>  </td><td class="markdownTableBodyNone">对方已收消息回执回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#a93920ea4aa54fd574fc351cfb805f948">onReceiveMarkRead</a>  </td><td class="markdownTableBodyNone">对方已读消息回执回调   </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#aee44157985022495491624681c2f4ab7">onMessageListRecv</a>  </td><td class="markdownTableBodyNone">拉取历史消息回调   </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="protocol_j_c_message_channel_callback-p.html#aba72ea7f5832917b9189d2b5d0fd3f27">onWithdrawalMessageResult</a>  </td><td class="markdownTableBodyNone">撤回消息结果回调   </td></tr>
</table>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
</small></address>
</body>
</html>
